package com.authService.service;

import com.authService.entity.SysMenuEntity;
import com.authService.pojo.req.MenuEditReqDTO;
import com.authService.pojo.req.MenuReqDTO;
import com.authService.pojo.req.MenuUpdateStatusReqDTO;
import com.authService.pojo.res.MenuDetailResDTO;
import com.authService.pojo.res.MenuResDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.common.page.PageVO;

import java.util.List;

/**
 * <p>
 * 系统菜单表 服务类
 * </p>
 *
 * @author xiaopeng
 * @since 2024-09-08
 */
public interface ISysMenuService extends IService<SysMenuEntity> {

    /**
     * 查询列表
     * @return
     */
    List<MenuResDTO> selectList(MenuReqDTO reqDTO);

    /**
     * 系统菜单-分页查询
     * @param reqDTO
     * @return
     */
    PageVO<MenuResDTO> selectPage(MenuReqDTO reqDTO);

    /**
     * 系统菜单-详情
     * @param id
     * @return
     */
    MenuDetailResDTO detail(Long id);

    /**
     * 系统菜单-保存
     * @param reqDTO
     * @return
     */
    void saveMenu(MenuEditReqDTO reqDTO);

    /**
     * 系统菜单-修改
     * @param reqDTO
     */
    void updateMenu(MenuEditReqDTO reqDTO);

    /**
     * 系统菜单-更新启用状态
     * @param reqDTO
     */
    void updateEnableStatus(MenuUpdateStatusReqDTO reqDTO);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);
}
